#if !defined(__DAEMON_PROCESS_H__)
#define __DAEMON_PROCESS_H__

#include <unistd.h>

#define PATHNAME "/usr/bin/gateway"

typedef struct SubprocessStruct
{
    // 记录启动命令
    char *pathname;
    // 记录命令参数
    char **argv;
    // 记录环境变量
    char **envp;
    // 记录子进程pid
    pid_t pid;
} Subprocess;

/**
 * @brief 初始化进程
 * 
 * @param subprocess 子进程结构体
 * @param submodule 子模块
 * @return int 0成功 -1失败
 */
int daemon_process_init(Subprocess *subprocess, char *submodule);

/**
 * @brief 运行子进程
 * 
 * @param subprocess 子进程结构体
 * @return int 0成功 -1失败
 */
int daemon_process_run(Subprocess *subprocess);

#endif // __DAEMON_PROCESS_H__
